Spring MVC:Details et Supprimer un Utilisateur
Les étapes à suivre
- 1Créer la méthode details() Mappé par GET d'envoyeé un utilisateur dont l'id est passé en paramètre à la vue utilisateurs/details.jsp
- 2Créer la vue utilisateurs/details.jsp permettant d'afficher les information de l'utilisateur envoyé par la méthode details()
- 3Créer la méthode supprimer() Mappé par GET permettant de supprimer un utilisateur dont l'id est passé en paramètre
1.Créer la méthode details() dans le controlleur UtilisateurController.java
/* La route pour afficher les détails d'un produit est /produits/id */
@RequestMapping("/{id}")
public String details(@PathVariable int id, Model model)
{
/* @PathVariable int id :récupérer le paramètre envoyé dans URL */
// produits/1 =>id=1
/* findById(id).get():=>select * from produit where id=id */
Utilisateur u=utilisateurRepository.findById(id).get();
//Envoyer le produit p à la vue details.jsp
model.addAttribute("utilisateur",u);
return "utilisateurs/details";
}
2.Créer la vue utilisateurs/details.jsp
<!--les tags de la biliothèque JSTL-->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html><head><title>détail Utilisateur ${utilisateur.nom}</title></head>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css">
<body>
<div class="container">
<h1>Détail Utilisateur: ${utilisateur.nom}</h1>
<div class="row">
<div class="col-md-3"><div class="card" >
<img class="card-img-top" src="../resources/${utilisateur.photo}">
<div class="card-footer text-muted">
<a href="${pageContext.request.contextPath}/utilisateurs/${utilisateur.id}/supprimer" class="btn btn-danger">Supprimer</a>
<a href="${pageContext.request.contextPath}/utilisateurs/${utilisateur.id}/modifier" class="btn btn-primary">Modifier</a>
</div>
</div>
</div>
<div class="col-md-8">
<div class="card" >
<div class="card-body">
<ul class="list-group">
<li class="list-group-item">Nom: <b>${utilisateur.nom}</b></li>
<li class="list-group-item">Prenom: <b>${utilisateur.prenom}</b></li>
<li class="list-group-item">Age: <b>${utilisateur.age}</b></li>
<li class="list-group-item">Email: <b>${utilisateur.email}</b></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
3.Créer la méthode supprimer() dans le controlleurs UtilisateurController.java
/*La route pour supprimer un utilisateur est /utilisateurs/id/supprimer :Avec GET */
@RequestMapping("/{id}/supprimer")
public String supprimer(@PathVariable int id, Model model,RedirectAttributes attributes)
{
/* delete from produits where id=id */
utilisateurRepository.deleteById(id);
/* Envoyer un message de confirmation à la vue index */
attributes.addFlashAttribute("message", "Le utilisateur est bien supprimé.");
/* redirection pour afficher la liste des utilisateurs */
return "redirect:/utilisateurs/";
}